import { generateUUID } from '@/utils'
import { localeProps } from '@/components/FormCreate/src/utils'

export const useInputNumberGroupRule = () => {
  const label = '计数合计器'
  const name = 'inputNumberGroup'
  return {
    icon: 'icon-display-block',
    label,
    name,
    drag: true,
    menu: 'layout',
    allowDrag: ['InputNumberGroupItem'],
    mask: false,
    rule() {
      return {
        native: true,
        type: name,
        field: generateUUID(),
        title: label,
        info: '',
        value: 0,
        props: {
          modelValue: 0
        }
      }
    },
    props(_, { t }) {
      return localeProps(t, name + '.props', [
        {
          type: 'select',
          field: 'position',
          title: '合计展示位置',
          options: [
            { label: '左对齐', value: 'left' },
            { label: '右对齐', value: 'right' }
          ],
          value: 'right'
        },
        {
          type: 'input',
          field: 'unit',
          title: '单位',
          info: '默认显示为空',
          value: ''
        },
        {
          type: 'input',
          field: 'label',
          title: '合计名称',
          info: '默认显示为：合计：',
          value: ''
        },
        {
          type: 'inputNumber',
          field: 'labelWidth',
          title: '合计文字占位宽度',
          value: 100,
          props: { min: 0 }
        },
        {
          type: 'select',
          field: 'labelPosition',
          title: '合计文字位置',
          options: [
            { label: '左对齐', value: 'left' },
            { label: '右对齐', value: 'right' }
          ],
          value: 'right'
        },
        {
          type: 'switch',
          field: 'showLine',
          title: '显示合计横线',
          value: true
        }
      ])
    },
    hiddenBaseField: ['title', 'info', 'wrap>labelWidth'] // 隐藏基础配置中的字段
  }
}
